package paneles

import java.util.List

import modelo.Jugador
import modelo.Planta
import org.apache.wicket.markup.html.basic.Label
import org.apache.wicket.markup.html.panel.Panel
import org.uqbar.wicket.xtend.WicketExtensionFactoryMethods
import org.uqbar.wicket.xtend.XListView

import modelo.Sistema
import modelo.Zombie
import org.apache.wicket.markup.html.form.Form
import org.apache.wicket.markup.html.form.TextField
import modelo.BuscadorZombies
import org.uqbar.wicket.xtend.XButton

class Almanaque extends Panel {
	extension WicketExtensionFactoryMethods = new WicketExtensionFactoryMethods
	List<Planta> jardinZen
	

	new(String id, Jugador jugador, List<Planta> jardinZen, Sistema sistema) {
		super(id)
		defaultModel = new BuscadorZombies(jugador, sistema).asCompoundModel
		val Form<BuscadorZombies> buscarZombie = new Form<BuscadorZombies>("buscarZombieForm")
		buscarZombie.addChild(new XButton("buscar") => [
				onClick = [| buscarZombie.modelObject.search ]
		]	)
		this.agregrCampoBusqueda(buscarZombie)

		//		this.jardinZen=jardinZen
		//		this.defaultModel = jugador.asCompoundModel
		this.agregaComponetes(id, jugador)
		var botonera = new Botonera("botonera", jugador, this)
		this.addChild(botonera)

	}

	def agregrCampoBusqueda(Form<BuscadorZombies> form) {
		form.addChild(new TextField<String>("nombre"))
	}

	def agregaComponetes(String id, Jugador jugador) {
		this.agregarTabla()
	}

	def agregarTabla() {
		val listView = new XListView("resultados")
		listView.model = jardinZen.asCompoundModel
		listView.populateItem = [ item |
			item.model = item.modelObject.asCompoundModel
			item.addChild(new Label("nombre"))
			item.addChild(new Label("danio"))
			item.addChild(new Label("resistencia"))
		]
		this.addChild(listView);
	}
}
